<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>配置文件</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="configuration.html">运行时配置</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="configuration.file.per-user.html">.user.ini 文件</a></div>
 <div class="up"><a href="configuration.html">运行时配置</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="configuration.file" class="sect1">
  <h2 class="title">配置文件</h2>
  
  <p class="simpara">
   配置文件（<var class="filename">php.ini</var>）在 PHP 启动时被读取。对于服务器模块版本的 PHP，仅在 web
   服务器启动时读取一次。对于
   <acronym title="Common Gateway Interface">CGI</acronym> 和 <acronym title="Command Line Interpreter/Interface">CLI</acronym> 版本，每次调用都会读取。
  </p>
  <p class="para">
   <var class="filename">php.ini</var> 的搜索路径如下（按顺序）：
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      SAPI 模块所指定的位置（Apache 2 中的 <em>PHPIniDir</em>
      指令，CGI 和 CLI 中的 <em>-c</em>
      命令行选项，NSAPI 中的
      <em>php_ini</em> 参数，THTTPD 中的
      <em>PHP_INI_PATH</em> 环境变量）。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <var class="varname"><var class="varname">PHPRC</var></var>  环境变量。在 PHP 5.2.0
      之前，其顺序在以下提及的注册表键值之后。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      自 PHP 5.2.0 起，可以为不同版本的 PHP 指定不同的 <em>php.ini</em>
      文件位置。将以下面的顺序检查注册表目录：<em>[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z]</em>，<em>[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y]</em> 和
      <em>[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x]</em>，其中的
      x，y 和 z 指的是 PHP 主版本号，次版本号和发行批次。如果在其中任何目录下的
      <em>IniFilePath</em> 有键值，则第一个值将被用作
      <em>php.ini</em> 的位置（仅适用于 windows）。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <em>[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]</em> 内 <em>IniFilePath</em> 的值（Windows 注册表位置）。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      当前工作目录（对于 CLI）。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      web 服务器目录（对于 SAPI 模块）或 PHP 所在目录（Windows 下其它情况）。
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Windows 目录（<var class="filename">C:\windows</var>
      或 <var class="filename">C:\winnt</var>），或
      <em>--with-config-file-path</em> 编译时选项指定的位置。
     </span>
    </li>
   </ul>
  </p>
  <p class="para">
   如果存在 <var class="filename">php-SAPI.ini</var>（SAPI 是当前所用的 SAPI
   名称，因此实际文件名为 <var class="filename">php-cli.ini</var> 或
   <var class="filename">php-apache.ini</var> 等），则会用它替代 <var class="filename">php.ini</var>。SAPI
   的名称可以用 <span class="function"><a href="function.php-sapi-name.html" class="function">php_sapi_name()</a></span> 来测定。
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Apache web 服务器在启动时会把目录转到根目录，这将导致 PHP 尝试在根目录下读取
    <var class="filename">php.ini</var>，如果存在的话。
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    在 <var class="filename">php.ini</var> 中可以使用环境变量。
   </p>
  </p></blockquote>
  <p class="para">
   由扩展库处理的 <var class="filename">php.ini</var> 指令，其文档分别在各扩展库的页面。<a href="ini.html" class="link">内核配置选项</a>见附录。不过也许不是所有的 PHP
   指令都在手册中有文档说明。要得到自己的 PHP 版本中的配置指令完整列表，请阅读
   <var class="filename">php.ini</var> 文件，其中都有注释。此外，也许从 Git 得到的<a href="http://git.php.net/?p=php-src.git;a=blob;f=php.ini-production;hb=HEAD" class="link external">&raquo;&nbsp;最新版 <var class="filename">php.ini</var></a> 也有帮助。
  </p>
  <p class="para">
   <div class="example" id="example-63">
    <p><strong>Example #1 <var class="filename">php.ini</var> 例子</strong></p>
    <div class="example-contents">
<div class="inicode"><pre class="inicode">; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
;    true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes

; you can enclose strings in double-quotes
include_path = &quot;.:/usr/local/lib/php&quot;

; backslashes are treated the same as any other character
include_path = &quot;.;c:\php\lib&quot;</pre>
</div>
    </div>

    
   </div>
  </p>
  <p class="para">
   自 PHP 5.1.0 起，有可能在 .ini 文件内引用已存在的 .ini
   变量。例如：<em>open_basedir = ${open_basedir}
   &quot;:/new/dir&quot;</em>。
  </p>
 </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="configuration.html">运行时配置</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="configuration.file.per-user.html">.user.ini 文件</a></div>
 <div class="up"><a href="configuration.html">运行时配置</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
